package com.cskaoyan.shopping.service;

import com.cskaoyan.shopping.dto.*;
import com.cskaoyan.shopping.form.CartRequest;
import com.cskaoyan.shopping.form.CheckAllItemRequest;

import java.util.List;

public interface ICartService {


    /**
     * 获得购物车商品列表
     */
    List<CartsProductDto> getCartListById(Long userId);

    /**
     * 添加商品到购物车
     *
     * @param request
     * @return
     */
//    AddCartResponse addToCart(AddCartRequest request);
    AddCartResponse addToCart(AddCartRequest request);


    /**
     * 更新购物车中商品的数量
     * @param request
     * @return
     */
    UpdateCartNumResponse updateCartNum(UpdateCartNumRequest request);

    /**
     * 选择购物车中的所有商品
     * @param request
     * @return
     */
    void checkAllCartItem(CheckAllItemRequest request);

    /**
     * 删除购物车中的商品
     * @return
     */
//    void deleteCartItem(Long uid, Long itemId);
    DeleteCartItemResponse deleteCartItem(DeleteCartItemRequest request);

    /**
     * 删除选中的商品
     * @return
     */
//    void deleteCheckedItem(Long userId);
    DeleteCheckedItemResponse deleteCheckedItem(DeleteCheckedItemRequest request);

}
